The present invention relates to satellite communications. More specifically, the present invention relates to a method and apparatus for queuing data packets in the outbound module of a space-based cell switch using an expanded set of queuing parameters.
Satellites have long been used to provide communications capabilities on a global scale, allowing various earth terminals to communicate with each other from anywhere on earth. Some satellite communications systems divide data traffic into discrete pieces of information, and each discrete piece of information may subsequently be transmitted over different selected channels in the communications network. The discrete pieces of information are referred to as xe2x80x9cframesxe2x80x9d or xe2x80x9cdata packets,xe2x80x9d depending on the particular system.
One popular terrestrial network information unit is the Asynchronous Transfer Mode (ATM) cell; also called a Fast-Packet. Each ATM cell is a specifically formatted data packet that is 53 bytes long and includes 48 information bytes (referred to below as an xe2x80x9cinformationxe2x80x9d field) and 5 header bytes (called a xe2x80x9cheaderxe2x80x9d field). The header field further includes an identifier. The identifier contains information about the cell including, for example, bits of information representing quality of service (QOS) parameters (discussed below), and addressing information. The addressing information may be, for example, a Virtual Path Identifier/Virtual Channel Identifier (VPI/VCI) address.
ATM standards define the components of the five-byte header field of an ATM cell. An ATM cell is typically associated with a set of QOS parameters. The QOS parameters include, for example, cell loss ratio (CLR), cell error ratio (CER), cell misinsertion rate (CMR), cell delay variation (CDV) and burstiness of traffic (BOT). In general, the combination of QOS parameters associated with a particular connection may be represented by an assigned priority of cells belonging to a connection.
CLR represents the ratio of the number of dropped cells divided by the total number of cells received. Cells are generally dropped in two situations. The first is overflow of the buffers used for queuing ATM cells before switching. The second is errors in the cell header, which prevent the ATM cell from being reliably identified.
CDV represents the difference between the longest time it may take for a cell to be transferred on a downlink, and the shortest time it may take for that cell to be transferred. This generally depends on how full or empty the output queue is in which the cell is waiting. For example, if the queue is empty, the cell may be transferred out of the queue the moment it arrives (i.e., tlow). However, if the queue is very full, it may take a longer period of time (i.e., thigh) before the cell is transferred. Thus, the variation is
CDV=thighxe2x88x92tlow.
CER represents the probability that the information field of a delivered cell contains an error, and BOT represents how constant or sporadic the stream of data being transferred is. Finally, CMR represents the probability that an xe2x80x9cuninvitedxe2x80x9d cell will be delivered.
In the past, a bar to using traditional terrestrial switch designs for a space-based application was that an earth terminal could not necessarily receive all of the data being sent down a particular downlink due to multiple configurations. The downlink can be broken into time slots whose configuration depends on several parameters including, for example, frequency, coding, antenna pointing and polarization of the downlink at the time the satellite transmits the information. Unlike information transmitted terrestrially, an earth terminal may only receive information in a given downlink in time slots matching its configuration, because earth terminals may only be configured to receive a particularly configured downlink at any given moment in time.
Thus, space-based systems, unlike terrestrial systems, face unique challenges in their delivery of information to ground stations. In other words, past terrestrial protocols were generally not suitable for transporting data cells via processing communications satellites.
Furthermore, prior proposed satellite communications systems generally advocated a very restrictive queue segmentation and addressing procedure. In accordance with this restrictive procedure, as information arrived at an output module of a cell switch, information was stored in an output queue until there was an opportunity to transmit it. In the past, however, output queues represented only information priorities, where each priority was associated with a combination of QOS parameters. For example, if a switch supported 32 different priorities, the output module of that cell switch would include only 32 different output queues. Accordingly, a single output queue stored all information having the priority associated with that queue. The queues were then serviced in a sequence which would support the QOS parameters.
Thus, in the past, an extensive time- and power-consuming search was required to locate, in a queue, stored information in that queue for transmitting in a particularly configured downlink slot. Understandably, in an effort to ensure that each cell was transmitted in an appropriate downlink slot, past systems required additional hardware necessary for searching through the output queues (e.g., in order of first-in to last-in) to find a cell acceptable for transmission on a particularly configured downlink slot. If the downlink was not configured to transmit any of the information contained in the highest priority queue, the switch continued to search through the queues until information corresponding to the currently configured downlink was found.
There are several disadvantages to this searching method. First, as explained above, additional hardware is necessary to implement the searching function. Additional hardware, of course, increases both the weight and complexity of a satellite. Ultimately, the increase in weight and complexity creates a substantial increase in the overall cost of the satellite and a decrease in reliability.
Second, searching functions were very time consuming. Thus, searching potentially results in substantial decreases in the downlink efficiency. For example, if the output module takes a very long time to find an appropriate cell, the satellite may altogether miss an opportunity to transmit a cell because the downlink structure must proceed with exact regularity. Thus, an empty or null cell is transmitted instead. This waste of downlink bandwidth is undesirable because downlink capacity is very limited and is the principal source of revenue in a satellite communication system.
A need exists in the satellite communications industry for a less costly and more efficient method and apparatus for processing data packets in the outbound module of a space-based cell switch.
It is an object of the present invention to enhance the efficiency of the output queuing system of a space based cell switch.
It is another object of the present invention to simplify the output queuing system of a space based cell switch by eliminating, for example, queue-searching hardware.
It is another object of the present invention to minimize the amount of wasted downlink bandwidth in a satellite communications system.
It is another objective of the present invention to decrease the amount of hardware needed to process signals on a communications satellite.
It is another objective of the present invention to decrease the complexity of the output module hardware on a communications satellite. One or more of the foregoing objects is met in whole or in part by a method and apparatus for processing data packets in the outbound module of a space-based cell switch. The present invention uses an expanded set of queuing parameters to determine the appropriate output queue (i.e., a destination output queue) in which to store each data packet. The method includes the steps of receiving data packets at an uplink receiver, determining at least one non-quality of service (NQOS) parameter associated with said data packets, and ordering a list of packets (described in more detail below) according to the NQOS parameter. The NQOS parameters may include, but are not limited to, the destination beam area, the cell type, the coding rate and any other similar satellite communications parameters.
In addition, in response to a signal indicating that a downlink transmitter is ready to transmit, the method locates, from a subset of queues which match the NQOS parameters, a data packet based on QOS parameters, and transfers the located data packet to the transmitter. In this fashion, the time required to locate an appropriate data packet is greatly reduced.
The present apparatus for determining destination output queues based on an expanded set of queuing parameters may be implemented in a cell switch for a processing communications satellite. The cell switch includes an input module, a switch control output connected between the input module and a switch fabric, and an output module connected to the switch fabric. The input module includes a discriminator circuit which determines the switch control output based on a representative combination of the expanded set of queuing parameters. The output module includes numerous output queues assigned to combinations of the expanded set of queuing parameters. The output module further includes a cell selector for selecting the appropriate output queue in which to store each data packet.